package com.sikaryofficial.system.api.model.product;

import com.sikaryofficial.common.core.annotation.LocalDateTimeFormat;
import com.sikaryofficial.system.api.model.att.AttachmentResp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 品牌口味对象
 *
 * @author qinjinyuan
 * @date 2023-10-30
 */
@Getter
@Setter
@ToString
@ApiModel(value = "品牌口味出参", description = "品牌口味出参")
public class BrandTasteDTO {

    /**
     * 创建者
     *
     */
    @ApiModelProperty(value = "创建者")
    private String createdName;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建者ID")
    private Long createdBy;

    @ApiModelProperty(value = "序列号")
    private Integer seqNo;
    /**
     * 品牌口味ID
     */
    @ApiModelProperty(value = "品牌口味ID")
    private Long brandTasteId;

    /**
     * 品牌编码
     */
    @ApiModelProperty(value = "品牌编码")
    private String brandNo;

    /**
     * 型号
     */
    @ApiModelProperty(value = "型号")
    private String model;

    /**
     * 口味名称
     */
    @ApiModelProperty(value = "口味名称")
    private String tasteName;

    /**
     * 款式: style:disposable 一次性,cartridge 弹药筒,opentype 开放式
     */
    @ApiModelProperty(value = "款式", example = "disposable")
    private String style;

    /**
     * 品牌封面图片
     */
    @ApiModelProperty(value = "品牌封面图片")
    private String coverUrl;

    /**
     * 产品名称
     */
    @ApiModelProperty(value = "产品名称")
    private String productName;

    /**
     * 产品二维码
     */
    @ApiModelProperty(value = "产品二维码")
    private String qrUrl;

    /** 二维码下的文字提示 */
    @ApiModelProperty(value = "二维码下的文字提示")
    private String qrTitle;

    /**
     * 二维码被扫次数
     */
    @ApiModelProperty(value = "100积分扫码次数")
    private Long qrScanCount;

    /**
     * 扫码次数
     */
    @ApiModelProperty(value = "扫码次数")
    private Long normalScanCount;

    /**
     * 可见 0-可见 1-不可见;默认0
     */
    @ApiModelProperty(value = "可见 0-可见 1-不可见;默认0")
    private Integer visible;

    /**
     * 点赞统计
     */
    @ApiModelProperty(value = "点赞统计", example = "123")
    private Integer likesCount;

    /**
     * 收藏统计
     */
    @ApiModelProperty(value = "收藏统计", example = "123")
    private Integer collectionCount;

    /**
     * 评价统计
     */
    @ApiModelProperty(value = "评价统计", example = "123")
    private int evaluationCount;

    /**
     * 是否有我的点赞
     */
    @ApiModelProperty(value = "是否有我的点赞")
    private boolean hasOwnerLikes;

    /**
     * 是否有我的收藏
     */
    @ApiModelProperty(value = "是否有我的收藏")
    private boolean hasOwnerCollection;

    /**
     * 综合评分(小数)
     */
    @ApiModelProperty(value = "是否有我的收藏")
    private BigDecimal compositeScore;

    /**
     * 创建时间
     */
    @LocalDateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    @LocalDateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updatedTime;

    /**
     * 数据来源：0-系统维护 1-用户评价
     */
    private Integer source;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注-产品介绍")
    private String remark;

    @ApiModelProperty(value = "附件列表")
    private List<AttachmentResp> attachmentList;

    /**
     * md5(CONCAT(t.brand_no,''_'',t.model,''_'',t.style,''_'',t.taste_name))组合
     */
    private String md5;

    @ApiModelProperty(value = "md5")
    private String p;

    /** 当前商品导出二维码数量 */
    @ApiModelProperty(value = "商品导出二维码数量")
    private Long qrExportNum;

    @ApiModelProperty(value = "任务状态 1- 生成中 2-可下载")
    private Integer taskStatus;

    @ApiModelProperty(value = "任务状态描述")
    private String taskStatusDesc;

    /**
     * 租户号
     */
    private Integer tenantId;

    /** 品牌口味短ID */
    private Integer productShortId;

    /** 口味备注 */
    private String tasteRemark;

    /**
     * 产品名称-中文
     */
    @ApiModelProperty(value = "产品名称-中文")
    private String productNameCn;

    /**
     * 品牌编码-中文
     */
    @ApiModelProperty(value = "品牌编码-中文")
    private String brandNoCn;

    /**
     * 型号-中文
     */
    @ApiModelProperty(value = "型号-中文")
    private String modelCn;

    /**
     * 款式-中文: style:disposable 一次性,cartridge 弹药筒,opentype 开放式
     */
    @ApiModelProperty(value = "款式-中文", example = "disposable")
    private String styleCn;

    /**
     * 口味-中文
     */
    @ApiModelProperty(value = "口味-中文")
    private String tasteNameCn;
    /**
     * 备注-中文
     */
    @ApiModelProperty(value = "备注-中文")
    private String remarkCn;

    /** 二维码物料号 */
    @ApiModelProperty(value = "二维码物料号")
    private String qrMatlNo;
}
